Automatically preparing an image for download

ABSTRACT

A method and apparatus for preparing an image for downloading over a link. The method includes receiving a user selection for an image to prepare, retrieving current user settings reflective of desired settings for compressing the image and automatically presenting a plurality of variations of the image to the user where each variation is derived using compression settings that are scaled from the current user settings.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of and claims priority toU.S. application Ser. No. 09/300,348, filed on Apr. 27, 1999 now U.S.Pat. No. 6,862,102.

The present invention relates generally to processing computer imagesfor publishing purposes.

BACKGROUND

The proliferation of the Internet has provided numerous businessopportunities for the exploitation of information. A web site is aconventional means for presenting information to a user traversing onthe World Wide Web. Graphics are often used to capture the attention ofa user visiting a web site. One problem that often arises in thedevelopment of web sites is the format of the graphics data that is tobe presented. More specifically, users often experience delay whilegraphics objects are downloaded for presentation on a user display. Thedelay associated with the publication of a graphics object is related tothe both the format of the data (e.g., file format) and the compressionused when storing the data that is retrieved.

At least two graphic file formats are universally compatible with WorldWide Web browsers: GIF and JFIF/JPEG. The joint photographic expertsgroup (JPEG) compression standard is supported by the JFIF file format.As used herein, the “JPEG” or “JPEG/JFIF” format refers to files thatare formatted in accordance with the JFIF format that include datacompressed using the JPEG compression standard. A key element forcreating successful graphics for web pages is reducing the file size forrapid downloads. Because compression has negative side effects such asartifacts, the web site developer is tasked with determining the optimumtrade off between file size and image quality. In order for the graphicsto be visually effective, the image quality must be maintained at anappropriate level. At the same time, the file size should be minimizedto reduce the delay when downloading the graphics object.

SUMMARY

In one aspect the invention provides a method of preparing an image fordownloading over a link and includes receiving a user selection for animage to prepare, retrieving current user settings reflective of desiredsettings for compressing the image and automatically presenting aplurality of variations of the image to the user where each variation isderived using compression settings that are scaled from the current usersettings.

Aspects of the invention include numerous features. The method caninclude estimating an amount of time required to download a givenvariation to the user where the estimated time is calculated from anassumed transmission rate of the link. The method can includingdetermining a file format for the image and using the current usersettings designated for the file format in presenting a representationof the image.

The step of determining a file format can include determining an optimumfile format for the image based on a predominant nature of the imagedata and determining a predominant form for objects in the image. Thestep of automatically presenting can include scaling compressionsettings from the current user settings where the particular settingsthat are scaled depend on the predominant form of the image. Thepredominant form is selected from the group of photographic and lineart.

Additionally, the method can include determining if the predominant formis photographic. If so, the optimum file format can be set to aJPEG/JFIF format. If the predominant form is line-art, the optimum fileformat can be set to a GIF format.

The step of determining an optimum format can include calculating anamount of noise in the image, setting the optimum file format to a JFIFformat if the amount of noise is above a predefined threshold, andotherwise setting the optimum file format to a GIF format.

The step of calculating an amount of noise can include, for each pixelin the image, comparing a relative color change between the pixel andone or more adjacent pixels to derive relative color change data,determining an overall color change for the image using the relativecolor change data for each pixel and comparing the overall color changeto the threshold value.

The step of comparing the relative color change can include deriving afirst set of color change data for a pixel by comparing the color of thepixel with a pixel immediately next in raster order, deriving a secondset of color change data for the pixel by comparing the color of thepixel with a pixel at a same location in a next scanline of pixels forthe image and for each color change data set, summing all the colorchange data and averaging over the image.

The step of comparing a relative color change can determine an actualcolor difference irrespective of a perceptual color difference. The stepof determining an optimum file format can include inspecting the imageto determine if any pixel in the image is transparent. If a pixel istransparent, the optimum file format can be set to a GIF format.

The step of determining an optimum file format can include inspectingthe image to determine if the image includes more than one animationframe. If more than one frame is detected, the optimum file format canbe set to a GIF format.

The step of automatically presenting can include receiving a userselection that defines a number of automatically derived variations thatare to be presented to the user and automatically generating the numberof variations selected.

The method can include adjusting the scaling of the current usersettings for each variation depending on the number of automaticvariations that are to be presented and displaying the image at thecurrent user settings. The method can include displaying the image atcurrent user defined compression settings along with three variations ina four-up orientation on an output display device. A first variation canbe generated by scaling the current user settings and a second variationcan be derived by scaling the scaled user settings used in deriving thefirst variation.

The method can include receiving user modifications to the current usersettings used to derive a variation and redisplaying the variation at acompression level using the modified user settings. Settings for eachvariation can be recalculated using the modified user settings and eachvariation can be redisplayed at a compression level using modified usersettings. Each variation can be a smaller and lower quality version ofthe image when produced using the current user settings. The estimateddownload time can be presented along with each variation of the image.

In another aspect, the invention provides a computer program forpreparing an image for downloading over a link. The computer programincludes instructions for causing a computer to receive a selection froma user designating an image to download, retrieve current user settingsreflective of desired settings for compressing the image andautomatically present a plurality of variations of the image to the userwhere each variation is derived using compression settings that arescaled from the current user settings.

Advantageous implementations of the invention can include one or more ofthe following advantages. A system is provided to produce a quickautomatic means of presenting variations of a graphics object to a website developer including relative time versus data quality for webpublishing purposes. The invention can be used to determine an optimumfile format for a graphics object. Background noise in the image datacan be automatically evaluated to discern whether the image data is lineart or a photograph. A statistical analysis process can be used toestablish baselines for the amount of background noise found in exemplargraphics objects. The results from the exemplar samples can be comparedto a selected graphics object. An appropriate file format for downloadcan be automatically selected using the comparison data. An automaticprocess for determining the optimum tradeoff between file size and imagequality is presented.

These and other advantages of the present invention will become apparentfrom the following description and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic block diagram of a computer system for use inproducing a web site.

FIG. 2 is a flow diagram for a process of selecting a graphics objectfor publication in a web site.

FIG. 3 shows a user interface presented when invoking the processdescribed with FIG. 2.

FIG. 4 a is a dialog box presented in the user interface for JPEG fileformat images.

FIG. 4 b is a dialog box presented in the user interface for GIF fileformat images.

FIG. 5 a is a flow diagram for a process of selecting an optimum fileformat for an graphics object.

FIG. 5 b is a flow diagram for the inspection step provided for in theflow diagram of FIG. 5 a.

DETAILED DESCRIPTION

It is common for web site developers to select graphics objects forinclusion in a web site. Web site developers use conventionalapplications for constructing a web site that includes one or more webpages. Examples of applications for constructing a web site includeGoLive™ and PageMill™ available from Adobe Systems Incorporated of SanJose, Calif. Conventional web site construction applications includetools for designating graphics objects to be included on web pages. Aselection tool can be used to select a graphics object file forinclusion in the web site. However, conventional selection tools cannotascertain the optimum file format for the graphics object file.Typically, the user selects the graphics object and incorporates theobject in its current form into a web page. Depending on the file formatand the compression used, a user accessing the web page and downloadingthe graphics object may experience an unacceptable delay. The delay istypically evaluated after the user has completed the construction of theweb site and the final hypertext mark-up language (HTML) for the website is produced. If the delay is unacceptable, then the web site can bereconstructed. The present invention includes a solution for thisproblem that includes automatically presenting a web site developer withinformation sufficient to make the quality versus performance decisionat the time graphics objects are selected and prior to incorporationinto the final HTML.

A number of terms are used herein to describe images and relatedstructures. “Digital image,” as used herein, refers to a collection ofdigital information that may be cast into the form of an image. The termimage is used to describe a type of visual representation or objecttype. Digital images may include photographs, artwork, documents, andweb pages, for example. Images may be obtained from digital cameras,digital video, scanners, and facsimile devices, for example. The imagesmay be two-dimensional or of higher dimensionality. For example,three-dimensional images may include representations of threedimensional space or of two dimensional movies where the third dimensionis time.

“Pixel” refers to an element of a digital image which has a specificlocation in the image and contains color information for that location.When referring to a displayed visual representation, a pixel is a singlepicture element of the displayed visual representation. Each pixel iscomposed of one or more components, one for each colorant (e.g., red,green and blue in an RGB color system) used in a particular colorsystem. Each component, in turn, uses one or more bits to represent agray scale value. Taken collectively, the pixels form therepresentation.

“Color” is used to represent a vector of values which characterizes allof the image information. This may include the amount of transparency ortranslucence associated with the particular portion of the digitalimage.

In FIG. 1, a computer system 10 suitable for creating web sites andautomatically presenting developers with variation data for optimizingthe selection of downloaded images includes one or more digitalcomputers 12, a communications bus 14 and an output display device.

Digital computer 12 can be a personal computer, a workstation, or otherkind of general or special purpose digital computer, including anembedded computer. Computer 12 typically includes a microprocessor 20, amemory bus, random access memory (RAM) 21, read only memory (ROM) 22,peripherals such as input devices (e.g., keyboard and pointing device),and storage devices (e.g., hard disk drive). The storage devices cancontain an operating system and one or more applications including a website development application in accordance with the present invention.Alternatively, the applications can be stored on other media, such asfloppy disk 11.

The output display device can be a display, or other output device.Other output display devices include, for example, printers, projectiondevices, and plotters. For the purposes of this disclosure, referencewill be made to a display 16.

Display 16 is an output display device that can produce a visualrepresentation of a document, including an image, on a screen. Therepresentation is generally an arrangement of pixels arranged in rowsand columns of a raster.

The process of the present invention, as described below, provides atechnique for creating web sites including selecting graphics objectsfor inclusion in the final HTML for the web site that have an optimumformat and which are stored using appropriate compression to satisfyspeed versus quality considerations.

FIG. 2 is a flow chart of user and program steps for selecting graphicsobjects for downloading. A web graphics construction applicationincludes a user interface for viewing content to be included in the website. The application includes numerous tools including a selection toolfor selecting graphics objects for inclusion in the web site. Theprocess begins by manipulating the selection tool to identify a graphicsobject to be published (52). The graphics object can be of a known fileformat or an file format type can be determined for the graphics object.A process for determining an optimum file format is described in greaterdetail below in reference to FIGS. 5 a and 5 b.

The current user settings for compression are determined (54). Usersettings can be manipulated by the user through the user interface. Theweb graphics construction application includes a preferences tool fordesignating user preferences to be invoked during the execution of theapplication. In one implementation, the application presents apreferences menu that includes default settings for controlling thecompression of objects that are to be downloaded for inclusion in theweb site. The user can manipulate settings for numerous compressionparameters as is discussed in greater detail below. One settingdesignated by the user configures the user interface to display a userdefined number of variations of a selected graphics object as describedbelow. The number of variations in one implementation is two or four, ina 2-up or 4-up orientation. Customized user settings configurations canbe stored by the application for later retrieval. The phrase “currentuser settings,” refers to the particular user setting configuration thatis active at the time a graphics object is selected for presentation.The current user settings can be a default set, characterized by defaultvalues set in the preferences menu, or a custom set either created orretrieved by the user.

When an object is selected for publishing (inclusion in the web page),compression parameters designated in the current user settings are usedto produce a downloadable representation of the graphics object forpresentation to the user. The particular compression parameters used aredetermined based on the graphics object type (file type, GIF or JPEG)and the selections indicated in the current user settings.

One or more variations of the current user settings are produced (56).Each variation is used to compress and produce a downloadablerepresentation of the graphics object (58). The graphics objectsproduced for each variation are presented along with a compressedversion of the graphics object produced using the current user settings(60). A time estimate associated with the amount of time required todownload the graphics object file at a given modem speed for each of thevariations is also computed (62). In one implementation, up to fourviews are presented by the web graphics construction application fordisplay to the user. If the variations presented are not satisfactory(64), the user can adjust manually one or more of the user settings forany one of the views (66). One or more adjusted views can be used toproduce a new set of variations of the graphics object for presentationto the user (steps 58-62). After the views are presented, the user canselect an appropriate version of the graphics object for inclusion intothe web page, easily evaluating both quality and performanceconsiderations (70). Thereafter, the process ends.

The views are populated according to user preference settings. Asdescribed above, the preference settings include a designation of anumber of variations to automatically produce. In one implementation, acompressed version of the graphics object is displayed along with threevariations in a four-up display as part of the user interface shown inFIG. 3. Other configurations can for the numbers and kinds of variationscan be elected by the user, including automatically producing variationsthat scale up from the current user settings or producing onlyvariations of the graphics object without producing a representation ofthe graphics image compressed at the current user settings. The userinterface includes a display region 300 that displays a representationof the graphics object produced using the current user settings and thevariations described above. Associated with each image file is an imageportion 302 and a data portion 304. Image portion 302 shows adownloadable compressed version of the graphics object produced inaccordance with compression settings (the current settings orautomatically modified version of the current user settings) for theparticular view and showing any artifacts introduced by the compression.Data portion 304 includes fields for the file type 306, file size 308,compression quality 310 and includes a time estimate 312 associated withthe time required to download the image data (graphics object) whenpublishing the web page. View 320 is populated with a compressed version(the “current” version) of the graphics object produced using thecurrent user settings. Views 322, 324 and 326 are populatedautomatically with variations produced by modifying the current usersettings. In one implementation, the user can adjust user settings forones of the views manually while designating other views to be generatedautomatically.

The modifications to the current user settings for a particular view(variation) can depend on the number of variations presented. If theuser designates three views to be automatically produced, then themodifications to the current user settings can be cumulative across thethree variations presented. For example, the quality setting on thefirst variation produced can be cut in half, for the second variationcut in half again and so on.

In one implementation each of the variations is produced based on acumulative scaling of the user settings. That is, a first variation isproduced by scaling the current user settings. A subsequent or secondvariation is produced by scaling the scaled user settings used inproducing the first variation. The user can specify the number ofvariations that are automatically computed. Alternatively the user canmanually specify the user settings to be used in producing a variationof the current user settings which can in turn be displayed along withthe current form of the graphics object.

The current user settings define a set of optimized compression settingsfor use when producing a downloadable variation of the graphics object.In one implementation, default settings are provided for both acceptedfile formats used on the World Wide Web: JPEG and GIF. Alternatively, auser can specify particular current settings for each individual fileformat type. The default or customized settings (the current settings)are used in producing the downloadable version of the graphics objectpresented in the first view.

The user interface presented when manipulating the selection tool caninclude a dialog box that specifies user settings for one of the viewspresented. In one implementation, the dialog box is configured toinclude the user settings applied to produce a selected view. A view canbe selected by the selection tool, resulting in the display of the usersettings used in producing the selected view. The dialog box can bepresented along with the views and can be manipulated by the user forproducing a re-populated view. The process of re-populating views isdescribed in greater detail below. In one implementation, the dialog boxis presented in a floating palette that can be selected by the user forviewing or customizing user settings for each of the views.

The user settings that can be adjusted in customizing the compression ofthe graphics object vary depending on the graphics object file formattype that is selected for download. For the JPEG file format, the usersettings that can be adjusted are as shown in dialog box 400 presentedin FIG. 4 a. Dialog box 400 can be displayed in the user interface aspart of the preferences menu, or can be called from the preferencesmenu. The current settings for alternate formats can be viewed bytoggling format setting 414. When a view is selected as described above,a dialog box similar to dialog box 400 (depending on the file format ofthe graphics object selected) is presented in the user interface fordescribing the particular settings used in producing a selected view.User adjustable settings for JPEG file format images include coarseimage quality 402, fine image quality 404, blur 406, matte 408, ICCprofile 410 and compressor selection 412. Image quality can be adjustedusing coarse image setting 402 or fine image setting 404. The coarsesettings available include low, medium, high and maximum whichcorrespond to fine settings of 10, 30, 60 and 80 quality units (JPEGquality values). Blur setting 406 adjusts the level of Gaussian blur tobe applied prior to compression. Matte setting 408 indicates whether amatte color is to be applied prior to compression (partial transparentobject). An ICC profile used in generating the representation can beincluded along with the graphics object if ICC profile setting 410 isselected. Compressor selection 412 defines the particular compressor(compression algorithm) to be used in the compression of therepresentation.

In one implementation, the automatic modification to the current usersettings for JPEG format images for a given variation depends on thenumber of automatic variations to be produced. If three automaticvariations are to be displayed, the first variation is produced byscaling the current quality setting 402 by 75%. Note the current qualitysetting is the quality setting specified in the current user settings.The second automatic variation is produced by scaling the currentquality setting by 50%, and the third by scaling the quality setting 402by 25%. If only two automatic views are produced, then the firstautomatic variation is produced by scaling the current quality settingby 50%, and the second by scaling the quality setting 402 by 25%. Ifonly one automatic view is produced, then the first automatic variationis produced by scaling the current quality setting by 50%.

For the GIF file format, the user settings that can be adjusted are asshown in dialog box 430 presented in FIG. 4 b. User adjustable settingsinclude color setting 432, dither setting 434, matte 436, Web snap 438,transparency setting 440, dither type 442, and color selection 444.Color setting 432 indicates the number of colors used in therepresentation. The dithering type setting 442 is used to select adithering algorithm, while dithering setting 434 can be used to adjustthe percentage of dithering applied. In one implementation, a diffusiondithering algorithm can be selected or no dithering. Matte setting 408indicates whether a matte color is to be applied prior to compression(for a partially transparent region). Web snap setting 438, whenselected, automatically takes colors in a color palette and snaps themto Web Safe colors (colors defined in a Web palette). Alpha channel datafor use with images that include transparency can be included along withthe graphics object if transparency setting 440 is selected. Colorselection setting 444 allows for the selection of a particular colorselection algorithm. In one implementation, the available colorselection algorithms are: selective, adaptive, Web for Web Safe colors,custom, Mac-OS, and Windows.

In one implementation, the automatic modifications to the user settingsfor GIF format images depend on the number of automatic variations to beproduced. If three automatic variations are to be displayed, the firstvariation is produced by halving the number of colors using the colorssetting 432. The second automatic variation is produced by keeping thecolor setting at the original value and adjusting the dithering setting434. The second variation is produced for the same number of colors butthe dither is flip flopped between zero or one hundred percent,depending on the initial setting. The third variation is produced byreducing the number of colors. If the number of colors in the defaultsetting is greater than 16 then the number of colors is divided by 4. Ifthe number of colors is less than 16, then the number of colors used inthe third variation is set to four colors. While the GIF format isconsidered to be lossless, the manipulation of the number of colorsresults in a lossy type GIF compression.

As described above, in one implementation the invention presents fourcopies of the graphics object and adjusts key compression settingsstarting from a users current settings. Each of the new versions is asmaller/lower quality variation of graphics object produced using thecurrent user settings. Along with the image data, an estimated downloadtime is displayed beneath each variation. The simultaneous display ofplural variations of the graphics object and respective download timesallows the user to quickly compare the quality versus time considerationand select an appropriate format for inclusion in the web site. The usercan then select the best version for the purposes required. The selectedvariation can be saved as part of the web site or fine tune adjustmentsto the settings may be made. The current user settings can bemanipulated by selecting the current graphics object view. Thereafterthe views can be automatically with new variations based onmodifications to the new current user settings. Alternatively,individual variations can be selected and their respective user settingsadjusted. Once changed, the variation can be reloaded producing a newvariation in accordance with the adjusted user settings. When fine tuneadjustments to the settings are produced, the user can select a reloador repopulate option which repeats the automatic population of viewsbased on the new settings.

Occasionally, the file format (or optimum file format) for a graphicsobject may be unknown. When the object is selected for inclusion in theweb site, the file format is used along with other user settings tocompress the graphics object and produce a downloadable version forinclusion in the web site. If the file format is unknown (or notoptimum), the file format type can be determined so that an appropriatecompression technique is applied to the data.

FIG. 5 a is a flow chart of user and program steps for automaticallyselecting an optimum file format for a graphics object file (500). Theprocess begins by inspecting the graphics object (image) to determinethe amount of background noise contained within the image (502). If alow amount of background noise is present (504), the image is determinedto be of the type similar to a line-art and a GIF file format isselected (506). If the image includes a high amount of background noise,the image is determined to be of a type similar to a photograph and aJPEG format is selected (508). In this implementation, images with largeamounts of background noise are assumed to be photographs and those withsmall amounts of noise are assumed to be line-art.

Process step 502 for inspecting the image includes numerous individualsteps. Referring now to FIG. 5 b, the process begins by retrieving anext pixel to be evaluated (519). The system compares the pixel to aneighboring pixel to determine a color difference (520). In oneimplementation, the neighboring pixel is a pixel immediately adjacent tothe current target pixel and one pixel later in the current scan line. Acolor comparison is performed producing color difference data as afunction of the relative color change between the two pixels. The colorcomparison can be calculated by squaring a difference value derived fromsubtracting the color value for one pixel from the color value for theother. In one implementation, the color data for each pixel includes aplurality of color values, one for each color component in the colorspace for the image. Difference values are produced for each colorcomponent on a component by component basis.

If the difference data is below a first predefined threshold value(524), then the pixel pair is considered to be part of the backgroundnoise. A counter is incremented to accumulate the total number of pixelsdeemed part of the background noise (526). The difference data for theindividual pixels are summed across the image resulting in an overallsum of color differences for the entire image (528). If the differencedata is above the first predefined threshold value (524), then the pixelpair is considered not to be part of the background noise and theprocess continues at step 525.

After all the pixels have been processed (525), the sum of thedifference data is evaluated to determine the amount of background noisepresent. In one implementation, the sum of the difference data isaveraged (530) and compared to a second predefined threshold value (step504 of FIG. 5 a). If the sum is above the second predefined thresholdvalue, then the image is deemed to be of the same type as a photographand a JPEG format is selected (Step 508 of FIG. 5 a). If not, the imageis deemed to be of the same type as line-art and the GIF format isselected (step 506 of FIG. 5 a). Thereafter, the process ends.

In one implementation, each pixel is compared to two pixels. The twodifferent pixel locations are then individually summed over the entireimage area. In one implementation, the comparison occurs “horizontally”by comparing each target pixel to an adjacent pixel in the same scanline(the next pixel). A second comparison, the “vertical” comparison, ismade between each pixel and the pixel immediately beneath the currentpixel (at a same position, one scanline later). The difference sums arecomputed independently. Again, after all the pixels of an image havebeen examined for color differences, the overall sum of the colordifferences is averaged and compared to the second threshold value. Morespecifically, the sum of all of the horizontal comparisons is averaged.Similarly, the sum of all the vertical color differences is averaged.Each of the averaged sums is independently compared to the secondthreshold in order to determine an optimum format for the image. In oneimplementation, the threshold values are experimentally determined usinga set of sample photographic and line art images.

In one implementation, a check is additionally made to determine if apixel is encountered in the image that has an opacity of less than 100%.If an image has pixels having an opacity of less than 100%, then aportion of the image is transparent with regard to some backgroundimage. Since transparency is not supported by the JPEG format, a GIFformat is used. In one implementation, the alpha channel data associatedwith a color pixel can be evaluated to determine the transparency oropacity of a given pixel. In addition, a matte color can be used to filla transparent region if the image is partially transparent (somewherebetween fully transparent and fully opaque).

In one implementation, a check is additionally made to determine if theimage includes more than one frame. Images having more than one frame(animated images and the like) are not supported by the JPEG format. Thesystem selects the GIF format for images with more than one frame.

The present invention computes a color distance in terms of an actualcolor distance between pixels. The actual color distance is a numericalvalue as opposed to a perceptual color difference where the colors areweighted. Those ordinarily skilled in the art will recognize that thefirst threshold provides a screen for dramatic color changes that areincluded in the image. The second threshold is a measure of an averageof background noise for images having a type similar to photographs.

The present invention has been described in terms of specificembodiments, which are illustrative of the invention and not to beconstrued as limiting. The invention may be implemented in hardware,firmware or software, or in a combination of them. Other embodiments arewithin the scope of the following claims.

1. A method of preparing a file for downloading over a link, the methodcomprising: receiving a user selection for a file to prepare fordownloading over a link; retrieving current user settings reflective ofdesired settings for compressing the file, the current user settingsdefining a first compressed file size for the file; automaticallyderiving alternative compression settings, the alternative compressionsettings including compression settings scaled from the current usersettings and defining alternative compressed file sizes for the file,the alternative compressed file sizes being different from the firstcompressed file size; and substantially simultaneously presenting to auser a plurality of variations of the file where at least one variationis generated using current user settings and at least one variation isgenerated using one or more of the alternative compression settings thatdefine an alternative compressed file size of the variation.
 2. Themethod of claim 1, further including estimating for each variation ofthe file a respective amount of time required to download the variationto the user where the estimated time is calculated from an assumedtransmission rate of the link and a compressed file size defined for thevariation.
 3. The method of claim 2 where the respective estimateddownload time is presented along with each variation of the file.
 4. Themethod of claim 1, wherein the file is a video file.
 5. The method ofclaim 1, wherein the step of presenting a plurality of variationsincludes receiving a user selection that defines a number of variationsthat are to be presented to the user and generating the number ofvariations selected.
 6. The method of claim 5 further comprisingadjusting the scaling of the current user settings for each variationdepending on the number of automatic variations that are to bepresented.
 7. The method of claim 1, wherein the step of presenting aplurality of variations of the file includes presenting the file atcurrent user defined compression settings along with three variationsgenerated using the alternative compression settings.
 8. The method ofclaim 1, wherein a first set of alternative compression settings isderived by scaling the current user settings and a second set ofalternative compression settings is derived by scaling the first set ofalternative compression settings.
 9. The method of claim 1 furthercomprising receiving user modifications to the current user settings andgenerating a variation of the file using the modified user settings. 10.The method of claim 9, further including recalculating compressionsettings for each presented variation of the file using the modifieduser settings and re-generating each variation using the recalculatedcompression settings.
 11. The method of claim 1, wherein the currentuser settings define a first quality of the file and each variationgenerated using the alternative compression settings has a differentquality relative to the first quality.
 12. The method of claim 1,wherein: substantially simultaneously presenting the plurality ofvariations includes presenting information related to a compressed filesize of each variation.
 13. A computer program product for preparing afile for downloading over a link, the computer program product includesinstructions for causing a computer to: receive a user selection forfile to prepare for downloading over a link; retrieve current usersettings reflective of desired settings for compressing the file, thecurrent user settings defining a first compressed file size for thefile; automatically derive alternative compression settings, thealternative compression settings including compression settings scaledfrom the current user settings and defining alternative compressed filesizes for the file, the alternative compressed file sizes beingdifferent from the first compressed file size; and substantiallysimultaneously present to a user a plurality of variations of the filewhere at least one variation is generated using current user settingsand at least one variation is generated using one or more of thealternative compression settings that define an alternative compressedfile size for the variation.
 14. The computer program product of claim13, further including instructions for causing a computer to: estimatefor each variation of the file a respective amount of time required todownload the variation to the user where the estimated time iscalculated from an assumed transmission rate of the link and acompressed file size defined for the variation.
 15. The computer programproduct of claim 13, wherein the file is a video file.
 16. The computerprogram product of claim 13, wherein the current user settings define afirst quality of the file and each variation generated using thealternative compression settings has a different quality relative to thefirst quality.
 17. A computer-implemented method for preparing a filefor downloading over a link, the method comprising: receiving one ormore compression settings for compressing the file and a numberspecifying how many variations of the file are to be generated, thereceived compression settings defining a first compressed file size forthe file; automatically deriving a plurality of alternative compressionsettings that are different from the received compression settings anddefine alternative compressed file sizes for the file, the alternativecompressed file sizes being different from the first compressed filesize; using the derived alternative compression settings to generate atleast one variation that has an alternative compressed file size in aplurality of variations of the file, the plurality of variationsincluding as many variations as specified by the received number; andsubstantially simultaneously presenting two or more of the plurality ofvariations of the file.
 18. The method of claim 17, wherein:automatically deriving a plurality of alternative compression settingsincludes deriving one or more alternative compression settings based onthe received compression settings.
 19. The method of claim 18, wherein:deriving one or more alternative compression settings based on thereceived compression settings includes scaling the received compressionsettings.
 20. The method of claim 17, wherein: receiving one or morecompression settings includes receiving one or more compression settingsbased on user input.
 21. The method of claim 17, further comprising:generating a variation in the plurality of variations of the file usingthe received compression settings.
 22. The method of claim 17, whereinthe file is a video file.
 23. A computer program product for preparing afile for downloading over a link, the computer program product includinginstructions for causing a computer to: receive one or more compressionsettings for compressing the file and a number specifying how manyvariations of the file are to be generated, the received compressionsettings defining a first compressed file size for the file;automatically derive a plurality of alternative compression settingsthat are different from the received compression settings and definealternative compressed file sizes for the file, the alternativecompressed file sizes being different from the first compressed filesize; use the derived alternative compression settings to generate atleast one variation that has an alternative compressed file size in aplurality of variations of the file, the plurality of variationsincluding as many variations as specified by the received number; andsubstantially simultaneously present two or more of the plurality ofvariations of the file.
 24. The computer program product of claim 23,wherein instructions for causing a computer to automatically derive aplurality of alternative compression settings include instructions forcausing a computer to: derive one or more alternative compressionsettings based on the received compression settings.
 25. The computerprogram product of claim 24, wherein instructions for causing a computerto derive one or more alternative compression setting based on thereceived compression settings include instructions for causing acomputer to: scale the received compression settings.
 26. The computerprogram product of claim 23, wherein instructions for causing a computerto receive one or more compression settings include instructions forcausing a computer to: receive one or more compression settings based onuser input.
 27. The computer program product of claim 23, furthercomprising instructions for causing a computer to: generate a variationin the plurality of variations of the file using the receivedcompression settings.
 28. The computer program product of claim 23,wherein the file is a video file.